1. Field of the Invention
The present invention relates to inserting Internet Protocol (IP) services in a broadband access network close to customer premises equipment; and in particular to providing, to customer premises equipment, multiple tap points in an Ethernet access network, which tap points are associated with corresponding multiple services.
2. Description of the Related Art
Networks of general purpose computer systems and special purpose hardware devices connected by external communication links are well known. The networks often include one or more network devices that facilitate the passage of information between the computer systems and devices. A network node is a network device, special purpose-device or computer system connected by the communication links.
Information is exchanged between network nodes according to one or more of many well known, new or still developing protocols. In this context, a protocol consists of a set of rules defining how the nodes interact with each other based on information sent over the communication links. The protocols are effective at different layers of operation within each node, from generating and receiving physical signals of various types, to selecting a link for transferring those signals, to the format of information indicated by those signals, to identifying which software application executing on a computer system sends or receives the information. The conceptually different layers of protocols for exchanging information over a network are described in the Open Systems Interconnection (OSI) Reference Model. The OSI Reference Model is generally described in more detail in Section 1.1 of the reference book entitled Interconnections Second Edition, by Radia Perlman, published September 1999, which is hereby incorporated by reference as though fully set forth herein.
Communications between nodes are typically effected by exchanging discrete packets of data. Each packet typically comprises 1] header information associated with a particular protocol, and 2] payload information that follows the header information and contains information that may be processed independently of that particular protocol. In some protocols, the packet includes 3] trailer information following the payload and indicating the end of the payload information. The header includes information such as the source of the packet, its destination, the length of the payload, and other properties used by the protocol. Often, the data in the payload for the particular protocol includes a header and payload for a different protocol associated with a different, often higher layer of the OSI Reference Model. The header for a particular protocol typically indicates a type for the next protocol contained in its payload. The higher layer protocol is said to be encapsulated in the lower layer protocol. The headers included in a packet traversing multiple heterogeneous networks, such as the Internet, typically include a physical (layer 1) header, a data-link (layer 2) header, an internetwork (layer 3) header and a transport (layer 4) header, as defined by the Open Systems Interconnection (OSI) Reference Model.
On Ethernet network infrastructure, the physical (layer 1) header defines the electrical, mechanical and procedural mechanisms for proper capture of the Ethernet frame, but is not captured by a Media Access Controller.
The data-link header provides information for transmitting the packet over a particular physical link (i.e., a communication medium), such as a point-to-point link, Ethernet link, wireless link, optical link, etc. An intermediate network node typically contains multiple physical links with multiple different nodes. To that end, the data-link header may specify a pair of “source” and “destination” network interfaces that are connected by the physical link. A network interface contains the mechanical, electrical and signaling circuitry and logic used to couple a network node to one or more physical links. A network interface is often associated with a hardware-specific address, known as a media access control (MAC) address. Accordingly, the source and destination network interfaces in the data-link header are typically represented as source and destination MAC addresses. Source and destination MAC addresses are typically preserved across link layer bridges and switches. The data-link header may also store flow control, frame synchronization and error checking information used to manage data transmissions over the physical link.
The internetwork header provides information defining the source and destination address within the computer network. Notably, the path may span multiple physical links. The internetwork header may be formatted according to the Internet Protocol (IP), which specifies IP addresses of both a source and destination node at the end points of the logical path. Thus, the packet may “hop” from one routing node to another routing node along its logical path until it reaches the end node assigned to the destination IP address stored in the packet's internetwork header. After each hop, the source and destination MAC addresses in the packet's data-link header may be updated, as necessary. However, the source and destination IP addresses typically remain unchanged as the packet is transferred from link to link in the network.
Some protocols span the layers of the OSI Reference Model. For example, the Ethernet local area network (LAN) protocol includes both layer 1 and layer 2 information. The International Electrical and Electronics Engineers (IEEE) 802.3 protocol, an implementation of the Ethernet protocol, includes layer 1 information and some layer 2 information.
A common network service provided by service providers (SPs) involves connecting a device on a local area network with a network node that provides access to a wide area packet switched network (also called a packet-switched network core, or “core network”). For example, Internet service providers (ISPs) connect one or more nodes on a local network to the public Internet as the network core. The first leg of that communication is often over a circuit-switched network such as a narrowband plain old telephone system (POTS) that uses dedicated physical circuits, and such broadband networks as a cable network, a passive optical network (PON), or a digital subscriber line (DSL) network that uses persistent logical circuits that can share a common physical circuit. These circuits provide a direct physical link between the CPE and an intermediate network node of the service provider (SP).
In addition, for many ISPs, an access network lies between the physical link and the core network. For example, the access network connects a bank of circuit-switched network terminals, such as a POTS or DSL modem bank with a remote access server (RAS), such as a Broadband Remote Access Server (BRAS), which performs as an access gateway for the core network, such as the public Internet. The circuit-switched network terminals are controlled by an access module, such as a DSL Access Module (DSLAM). The access modules and access network are typically under the control of an access service provider (ASP) entity distinct from the ISP; while, the remote access server, such as the BRAS, is typically under the control of the ISP. Sometimes the ISP which contracts with a subscriber is called the Internet “retailer,” and the ASP which contracts with multiple ISP to give their subscribers access is called the Internet “wholesaler.”
Until recently, the access network provided by an ASP often was based on an Asynchronous Transfer Mode (ATM) infrastructure which uses permanent virtual circuits (PVCs) to carry data packet traffic, called ATM cell traffic. Point to point tunneling protocols were often used to carry data packets from the customer premises equipment to the BRAS across both the circuit-switched network and the access network. As the PVCs used were point to point, a point to point protocol like the Point-to-Point Protocol (PPP) was well suited to this environment.
Currently, there is a trend by ASPs to convert such ATM-based access networks to Ethernet-based access networks, which are capable of supporting freely routed data and shared (multicast or broadcast) packets as well as tunneled data packets forced to a particular access gateway like the BRAS. With the spread of Ethernet access networks, there is a desire by ASPs to offer some network services on the access network. The access networks are closer to the customer premises than core network, so network resource consumption, such as consumption of bandwidth and intermediate node processes at the remote access module and network core, is reduced by placing some common network services on the access network. In these circumstances, tunneled packets, because of their point to point nature, are no longer closely matched with the underlying transport as with an ATM access network.
The client-server model of computer process interaction is widely known and used. According to the client-server model, a client process sends a message including a request to a server process, and the server process responds by providing a service. The server process may also return a message with a response to the client process. Often the client process and server process execute on different devices, called hosts, and communicate via a network using one or more protocols for network communications. The term “server” is conventionally used to refer to the process that provides the service, or the host on which the process operates. Similarly, the term “client” is conventionally used to refer to the process that makes the request, or the host on which the process operates. As used herein, the terms “client” and “server” refer to the processes, rather than the host computers, unless otherwise clear from the context. In addition, the process performed by a server can be broken up to run as multiple servers on multiple hosts (sometimes called tiers) for reasons that include reliability, scalability, and redundancy, among other reasons.
Several approaches have been proposed to provide in the access network additional services beyond access to the core network. In general, a service is provided by a server or gateway to a cluster of multiple servers.
In some approaches, each server gets a unique IP address among all access networks connected to the core network. In some approaches, a unique logical address (e.g., an IP address) among all access networks connected to the network core is assigned not just to the remote access server, but instead to the access module which is the closest node on the access network to the customer's LAN. In some approaches, an access module is given multiple IP addresses, a different IP address for each virtual circuit with a different server on the access network. In some approaches, a combination of the other approaches is used.
A deficiency with these approaches is that they can create a large number of small ranges of IP addresses (called subnets). If you have point to point circuits or several smaller shared domains, you have smaller subnets. In IP the first address in the subnet, the zero subnet, and the last address in the subnet, the broadcast address cannot usually be used; so the smaller the subnets, the more addresses wasted. Also small subnets can lead to large routing tables if these subnets cannot be summarized on the network.
Approaches that employ separate point-to-point layer 2 tunneling to separate servers make it difficult to insert additional services. The access network has to be re-configured to provision additional point-to-point tunnels over separate permanent virtual circuits (PVCs) for the new services. In some approaches the multiple PVCs use one PVC to acquire an IP address for the other PVCs. However, this requires service segmentation in the access network, which makes it difficult to have a singe end node, such as a computer, work with both video and data services. An approach using multiple virtual circuits (VCs), involves separating traffic on the Ethernet access network (also called a “backhaul”) using VLAN technology, where a service PVC maps to VLAN. This assumes a separate service gateway per service, each located in a different VLAN. However, on many networks there is a desire to have multiple service gateways in a single service aggregation device; thus, the same IP subnet must be terminated over multiple Ethernet interfaces on the service aggregation device. This is wasteful of the limited number of Ethernet interfaces on a device. Alternatively, one device in the home (e.g., a television set top box [STB] or personal computer [PC]) accesses multiple services; but, this would require multiple addresses on the home device.
In addition, point-to-point tunnels are inefficient for multi-point services, such as multi-cast and broadcast services. Separate logical circuits have to be configured for each destination, even though the same data is traversing the same physical links for much of the path. For example, a PPP connection from a DSLAM port (which corresponds to a house) to the BRAS, carries television video content from a first programming source. Another DSLAM port to a neighboring also carries video content from the same programming source. Because these are point to point circuits and the service insertion is at the BRAS, the same television video content broadcast would travel twice down the same physical links. It would be more efficient to send the television video content once and then duplicate it at the DSLAM, but this requires that the two home devices can access the same television video content stream.
Based on the foregoing, there is a clear need for techniques that insert services on access networks closer to customer premises without the disadvantages of prior art approaches. In particular, there is a need for techniques that insert services on the access networks and that utilize the shared media capabilities of the Ethernet protocol or do not require separate IP addresses on the same device for separate services.